home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / RCMGR.DEF < prev    next >
Encoding:
Modula Definition  |  1993-08-01  |  1.4 KB  |  62 lines

  1. DEFINITION MODULE RcMgr;
  2.  
  3. (*
  4. Rectangle Manager.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM PORTAB IMPORT SIGNEDWORD,UNSIGNEDWORD;
  12.  
  13. #if export
  14. EXPORT QUALIFIED GPnt,GRect,ORectPtr,ORect,
  15.                  Min,Max,RcIntersect,RcUnion,RcConstrain,RcEqual,RcCopy,
  16.                  RcInside,RcSnap,XYWHToGRect;
  17. #endif
  18.  
  19. TYPE GPnt = RECORD
  20.               GX: SIGNEDWORD;
  21.               GY: SIGNEDWORD;
  22.             END;
  23.  
  24.      GRect = RECORD
  25.                GX: SIGNEDWORD;
  26.                GY: SIGNEDWORD;
  27.                GW: SIGNEDWORD;
  28.                GH: SIGNEDWORD;
  29.              END;
  30.  
  31.      ORectPtr = POINTER TO ORect;
  32.      ORect = RECORD
  33.                OLink: ORectPtr;
  34.                OX   : SIGNEDWORD;
  35.                OY   : SIGNEDWORD;
  36.                OW   : SIGNEDWORD;
  37.                OH   : SIGNEDWORD;
  38.              END;
  39.  
  40. PROCEDURE Min(a,b: SIGNEDWORD): SIGNEDWORD;
  41.  
  42. PROCEDURE Max(a,b: SIGNEDWORD): SIGNEDWORD;
  43.  
  44. PROCEDURE RcIntersect(VAR R1,R2: GRect): BOOLEAN;
  45.  
  46. PROCEDURE RcUnion(VAR R1,R2: GRect);
  47.  
  48. PROCEDURE RcConstrain(R1: GRect; VAR R2: GRect);
  49.  
  50. PROCEDURE RcEqual(VAR R1,R2: GRect): BOOLEAN;
  51.  
  52. PROCEDURE RcCopy(VAR From,To: GRect);
  53.  
  54. PROCEDURE RcInside(P: GPnt; VAR R: GRect): BOOLEAN;
  55.  
  56. PROCEDURE RcSnap(X: SIGNEDWORD; N: UNSIGNEDWORD): SIGNEDWORD;
  57.  
  58. PROCEDURE XYWHToGRect(    X,Y,W,H: SIGNEDWORD;
  59.                       VAR Rect   : GRect);
  60.  
  61. END RcMgr.
  62.